﻿//using System;
//using System.Collections.Generic;
//using System.ComponentModel;
//using System.Text;
//using Microsoft.Office.Interop;
//using Microsoft.Office.Interop.Excel;
//using UnityEditor;

//using SystemData = System.Data;
//public partial class ChangeToExcel
//{
//    //private string filePath = AppDomain.CurrentDomain.BaseDirectory;
//    SystemData.DataTable table;

//    private SystemData.DataTable CreateTestTable(string tableName)
//    {
//        // Create a test DataTable with two columns and a few rows.
//        table = new SystemData.DataTable(tableName);
//        SystemData.DataColumn column = new SystemData.DataColumn("id", typeof(System.Int32));
//        column.AutoIncrement = true;
//        table.Columns.Add(column);

//        column = new SystemData.DataColumn("item", typeof(System.String));
//        table.Columns.Add(column);


//        // Add ten rows.
//        SystemData.DataRow row;
//        for (int i = 0; i <= 9; i++)
//        {
//            row = table.NewRow();
//            row["item"] = "item " + i;
//            table.Rows.Add(row);
//        }

//        table.AcceptChanges();
//        return table;
//    }

//    private void PrintValues(SystemData.DataTable table, string label)
//    {
//        string str = "";
//        str += label + "\n";
//        foreach (SystemData.DataRow row in table.Rows)
//        {
//            foreach (SystemData.DataColumn column in table.Columns)
//            {
//                str += row[column] + "\t";
//            }
//        }
//        EditorUtility.DisplayDialog("提示", str, "OK");
//    }

//    /// <summary> 
//    /// 导出Excel 
//    /// </summary> 
//    /// <param name="dt">要导出的DataTable</param> 
//    public static void ExportToExcel(System.Data.DataTable dt)
//    {
//        if (dt == null) return;

//        Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
//        if (xlApp == null)
//        {
//            EditorUtility.DisplayDialog("提示", "无法创建Excel对象，可能您的电脑未安装Excel", "OK");
//            return;
//        }
//        string fileName = EditorUtility.SaveFilePanel("导出为Excel文件", "", "scene", "xls");
//        if (fileName.Length != 0)
//        {
//            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
//            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
//            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1 
//            Microsoft.Office.Interop.Excel.Range range = null;
//            long totalCount = dt.Rows.Count;
//            long rowRead = 0;
//            float percent = 0;
//            //写入标题 
//            for (int i = 0; i < dt.Columns.Count; i++)
//            {
//                worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
//                range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
//                //range.Interior.ColorIndex = 15;//背景颜色 
//                range.Font.Bold = true;//粗体 
//                range.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;//居中 
//                //加边框 
//                range.BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null);
//                //range.ColumnWidth = 4.63;//设置列宽 
//                //range.EntireColumn.AutoFit();//自动调整列宽 
//                //r1.EntireRow.AutoFit();//自动调整行高 
//            }
//            //写入内容 
//            for (int r = 0; r < dt.DefaultView.Count; r++)
//            {
//                for (int i = 0; i < dt.Columns.Count; i++)
//                {
//                    worksheet.Cells[r + 2, i + 1] = dt.DefaultView[r][i];
//                    range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[r + 2, i + 1];
//                    range.Font.Size = 9;//字体大小 
//                    //加边框 
//                    range.BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null);
//                    range.EntireColumn.AutoFit();//自动调整列宽 
//                }
//                rowRead++;
//                percent = ((float)(100 * rowRead)) / totalCount;
//                //System.Windows.Forms.Application.DoEvents();
//            }
//            range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideHorizontal].Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin;
//            if (dt.Columns.Count > 1)
//            {
//                range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlInsideVertical].Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin;
//            }
//            try
//            {
//                workbook.Saved = true;
//                workbook.SaveCopyAs(fileName);
//            }
//            catch (Exception ex)
//            {
//                EditorUtility.DisplayDialog("提示", "导出文件时出错,文件可能正被打开！\n" + ex.Message, "OK");
//                return;
//            }

//            workbooks.Close();
//            if (xlApp != null)
//            {
//                xlApp.Workbooks.Close();
//                xlApp.Quit();
//                int generation = System.GC.GetGeneration(xlApp);
//                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
//                xlApp = null;
//                System.GC.Collect(generation);
//            }
//            GC.Collect();//强行销毁 
//            #region 强行杀死最近打开的Excel进程
//            System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
//            System.DateTime startTime = new DateTime();
//            int m, killId = 0;
//            for (m = 0; m < excelProc.Length; m++)
//            {
//                if (startTime < excelProc[m].StartTime)
//                {
//                    startTime = excelProc[m].StartTime;
//                    killId = m;
//                }
//            }
//            if (excelProc[killId].HasExited == false)
//            {
//                excelProc[killId].Kill();
//            }
//            #endregion
//            EditorUtility.DisplayDialog("提示", "导出成功!", "OK");
//        }
//    }


//}